home *** CD-ROM | disk | FTP | other *** search
- /*
- File: Timer.h
-
- Copyright: © 1984-1993 by Apple Computer, Inc., all rights reserved.
-
- WARNING
- This file was auto generated by the interfacer tool. Modifications
- must be made to the master file.
-
- */
-
- #ifndef __TIMER__
- #define __TIMER__
-
- #ifndef __TYPES__
- #include <Types.h>
- /* #include <ConditionalMacros.h> */
- /* #include <MixedMode.h> */
- /* #include <Traps.h> */
- #endif
-
- #ifndef __OSUTILS__
- #include <OSUtils.h>
- #endif
-
- typedef struct TMTask TMTask, *TMTaskPtr;
-
-
- /*
- TimerProcs cannot be written in or called from a high-level
- language without the help of mixed mode or assembly glue because they
- use the following parameter-passing convention:
-
- typedef pascal void (*TimerProcPtr)(TMTaskPtr tmTaskPtr);
-
- In:
- => tmTaskPtr A1.L
- Out:
- none
- */
-
- enum {
- uppTimerProcInfo = kRegisterBased|REGISTER_ROUTINE_PARAMETER(1,kRegisterA1,kFourByteCode)
- };
-
- #if USESROUTINEDESCRIPTORS
- typedef pascal void (*TimerProcPtr)(TMTaskPtr tmTaskPtr);
-
- typedef UniversalProcPtr TimerUPP;
-
- #define CallTimerProc(userRoutine, tmTaskPtr) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppTimerProcInfo, (tmTaskPtr))
-
- #define NewTimerProc(userRoutine) \
- (TimerUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppTimerProcInfo, GetCurrentISA())
-
- #else
- typedef ProcPtr TimerUPP;
-
- #define NewTimerProc(userRoutine) \
- (TimerUPP)(userRoutine)
-
- #endif
-
- #define kTMTaskActive (1<<15)
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TMTask {
- QElemPtr qLink;
- short qType;
- TimerUPP tmAddr;
- long tmCount;
- long tmWakeUp;
- long tmReserved;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- #if USES68KINLINES
- #pragma parameter InsTime(__A0)
- #endif
- extern pascal void InsTime(QElemPtr tmTaskPtr)
- ONEWORDINLINE(0xA058);
-
- #if USES68KINLINES
- #pragma parameter InsXTime(__A0)
- #endif
- extern pascal void InsXTime(QElemPtr tmTaskPtr)
- ONEWORDINLINE(0xA458);
-
- #if USES68KINLINES
- #pragma parameter PrimeTime(__A0, __D0)
- #endif
- extern pascal void PrimeTime(QElemPtr tmTaskPtr, long count)
- ONEWORDINLINE(0xA05A);
-
- #if USES68KINLINES
- #pragma parameter RmvTime(__A0)
- #endif
- extern pascal void RmvTime(QElemPtr tmTaskPtr)
- ONEWORDINLINE(0xA059);
- extern pascal void Microseconds(UnsignedWide *microTickCount)
- FOURWORDINLINE(0xA193, 0x225F, 0x22C8, 0x2280);
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-
-